home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / mp / mpi-bsd68k.s < prev    next >
Text File  |  1992-02-08  |  27KB  |  2,158 lines

  1. #NO_APP
  2. gcc_compiled.:
  3. .text
  4.     .even
  5. .globl _mulsi
  6. _mulsi:
  7.     link a6,#0
  8.     moveml #0x3f30,sp@-
  9.     movel a6@(8),d4
  10.     movel a6@(12),a2
  11.     moveb a2@(4),d6
  12.     extbl d6
  13.     movel a2@(4),d5
  14.     andl #65535,d5
  15.     tstl d4
  16.     jeq L3
  17.     tstl d6
  18.     jne L2
  19. L3:
  20.     movel _gzero,d0
  21.     jra L1
  22. L2:
  23.     tstl d4
  24.     jge L4
  25.     negl d6
  26.     negl d4
  27.     jpl L4
  28.     movel a2,sp@-
  29.     movel #-2147483648,sp@-
  30.     jbsr _stoi
  31.     addqw #4,sp
  32.     movel d0,sp@-
  33.     jbsr _mulii
  34.     jra L1
  35. L4:
  36.     movel d5,a3
  37.     pea a3@(1)
  38.     jbsr _cgeti
  39.     movel d0,a1
  40.     clrl d2
  41.     movel d5,d0
  42.     asll #2,d0
  43.     addl d0,a2
  44.     lea a1@(4,d0:l),a0
  45.     movel d5,d3
  46.     subql #2,d3
  47.     jra L6
  48. L8:
  49.     movel d2,d0
  50.     movel d4,d1
  51. #APP
  52.     mulul a2@-,d2:d1
  53. #NO_APP
  54.     addl d1,d0
  55.     clrl d7
  56. #APP
  57.     addxl d7,d2
  58. #NO_APP
  59.     movel d0,a0@-
  60. L6:
  61.     dbra d3,L8
  62.     clrw d3
  63.     subql #1,d3
  64.     jcc L8
  65.     tstl d2
  66.     jeq L9
  67.     movel d2,a0@-
  68.     movel a1@(4),d0
  69.     clrw d0
  70.     movel d0,a3
  71.     lea a3@(1,d5:l),a3
  72.     movel a3,a1@(4)
  73.     jra L10
  74. L9:
  75.     addql #4,_avma
  76.     movel a1@,d7
  77.     subql #1,d7
  78.     movel d7,a1@(4)
  79.     addqw #4,a1
  80.     movel a1@(4),d0
  81.     clrw d0
  82.     addl d5,d0
  83.     movel d0,a1@(4)
  84. L10:
  85.     movel a1@(4),d0
  86.     andl #16777215,d0
  87.     movel d6,d1
  88.     moveq #24,d7
  89.     asll d7,d1
  90.     addl d1,d0
  91.     movel d0,a1@(4)
  92.     movel a1,d0
  93. L1:
  94.     moveml a6@(-32),#0xcfc
  95.     unlk a6
  96.     rts
  97.     .even
  98. .globl _expi
  99. _expi:
  100.     link a6,#0
  101.     movel d2,sp@-
  102.     movel a6@(8),a0
  103.     movel a0@(4),d0
  104.     andl #65535,d0
  105.     moveq #2,d2
  106.     cmpl d0,d2
  107.     jne L12
  108.     movel #-8388608,d0
  109.     jra L13
  110. L12:
  111.     subql #2,d0
  112.     asll #5,d0
  113. #APP
  114.     bfffo a0@(8){#0:#0},d1
  115. #NO_APP
  116.     subl d1,d0
  117.     subql #1,d0
  118. L13:
  119.     movel a6@(-4),d2
  120.     unlk a6
  121.     rts
  122.     .even
  123. .globl _addsi
  124. _addsi:
  125.     link a6,#0
  126.     moveml #0x3e20,sp@-
  127.     movel a6@(8),d3
  128.     movel a6@(12),a2
  129.     jne L15
  130.     movel a2,sp@-
  131.     jbsr _icopy
  132.     jra L14
  133. L15:
  134.     moveb a2@(4),d4
  135.     extbl d4
  136.     jne L16
  137.     movel d3,sp@-
  138.     jbsr _stoi
  139.     jra L14
  140. L16:
  141.     tstl d3
  142.     jge L17
  143.     moveq #-1,d5
  144.     negl d3
  145.     jpl L19
  146.     movel a2,sp@-
  147.     pea _MOST_NEGS
  148.     jbsr _addii
  149.     jra L14
  150. L17:
  151.     moveq #1,d5
  152. L19:
  153.     movel a2@(4),d2
  154.     andl #65535,d2
  155.     cmpl d5,d4
  156.     jne L20
  157.     movel d3,d1
  158.     addl a2@(-4,d2:l:4),d3
  159.     cmpl d3,d1
  160.     jls L21
  161.     moveq #1,d0
  162.     jra L22
  163. L21:
  164.     clrl d0
  165. L22:
  166.     tstl d0
  167.     jeq L23
  168.     movel d2,a1
  169.     pea a1@(1)
  170.     jbsr _cgeti
  171.     movel d0,a0
  172.     movel d3,a0@(d2:l:4)
  173.     movel d2,d0
  174.     jra L65
  175. L27:
  176.     moveq #-1,d6
  177.     cmpl a2@(-4,d0:l:4),d6
  178.     jne L25
  179.     clrl a0@(d0:l:4)
  180. L65:
  181.     subql #1,d0
  182.     moveq #2,d6
  183.     cmpl d0,d6
  184.     jlt L27
  185. L25:
  186.     moveq #2,d6
  187.     cmpl d0,d6
  188.     jge L28
  189.     movel a2@(-4,d0:l:4),d6
  190.     addql #1,d6
  191.     movel d6,a0@(d0:l:4)
  192.     jra L66
  193. L31:
  194.     movel a2@(-4,d0:l:4),a0@(d0:l:4)
  195. L66:
  196.     subql #1,d0
  197.     moveq #2,d6
  198.     cmpl d0,d6
  199.     jlt L31
  200.     movel a0@,d0
  201.     subql #1,d0
  202.     movel d0,a0@(4)
  203.     movel d0,a0@(8)
  204.     addqw #4,a0
  205.     addql #4,_avma
  206.     jra L33
  207. L28:
  208.     moveq #1,d6
  209.     movel d6,a0@(8)
  210.     movel a0@,a0@(4)
  211.     jra L33
  212. L23:
  213.     movel d2,sp@-
  214.     jbsr _cgeti
  215.     movel d0,a0
  216.     movel d3,a0@(-4,d2:l:4)
  217.     moveq #1,d0
  218.     movel d2,d1
  219.     subql #1,d1
  220.     jra L34
  221. L37:
  222.     movel a2@(d0:l:4),a0@(d0:l:4)
  223.     addql #1,d0
  224. L34:
  225.     cmpl d0,d1
  226.     jgt L37
  227. L33:
  228.     movel a0@(4),d0
  229.     andl #16777215,d0
  230.     movel d5,d1
  231.     jra L67
  232. L20:
  233.     moveq #3,d6
  234.     cmpl d2,d6
  235.     jne L39
  236.     cmpl a2@(8),d3
  237.     jcc L40
  238.     pea 3:w
  239.     jbsr _cgeti
  240.     movel d0,a0
  241.     movel d4,d0
  242.     moveq #24,d6
  243.     asll d6,d0
  244.     addql #3,d0
  245.     movel d0,a0@(4)
  246.     movel a2@(8),d6
  247.     subl d3,d6
  248.     movel d6,a0@(8)
  249.     jra L38
  250. L40:
  251.     cmpl a2@(8),d3
  252.     jne L41
  253.     movel _gzero,d0
  254.     jra L14
  255. L41:
  256.     pea 3:w
  257.     jbsr _cgeti
  258.     movel d0,a0
  259.     movel d4,d0
  260.     negl d0
  261.     moveq #24,d6
  262.     asll d6,d0
  263.     addql #3,d0
  264.     movel d0,a0@(4)
  265.     subl a2@(8),d3
  266.     movel d3,a0@(8)
  267.     jra L38
  268. L39:
  269.     movel a2@(-4,d2:l:4),d1
  270.     movel d3,d0
  271.     movel d1,d3
  272.     subl d0,d3
  273.     cmpl d1,d0
  274.     jhi L42
  275.     clrl d0
  276.     jra L43
  277. L42:
  278.     moveq #1,d0
  279. L43:
  280.     tstl d0
  281.     jeq L44
  282.     movel d2,sp@-
  283.     jbsr _cgeti
  284.     movel d0,a0
  285.     movel d3,a0@(-4,d2:l:4)
  286.     movel d2,d0
  287.     subql #2,d0
  288.     tstl a2@(d0:l:4)
  289.     jne L62
  290. L48:
  291.     moveq #-1,d6
  292.     movel d6,a0@(d0:l:4)
  293.     subql #1,d0
  294.     tstl a2@(d0:l:4)
  295.     jeq L48
  296. L62:
  297.     movel a2@(d0:l:4),d1
  298.     subql #1,d1
  299.     movel d1,a0@(d0:l:4)
  300.     moveq #2,d6
  301.     cmpl d0,d6
  302.     jlt L50
  303.     tstl d1
  304.     jeq L49
  305. L50:
  306.     subql #1,d0
  307.     tstl d0
  308.     jle L38
  309. L54:
  310.     movel a2@(d0:l:4),a0@(d0:l:4)
  311.     subql #1,d0
  312.     tstl d0
  313.     jgt L54
  314.     jra L38
  315. L49:
  316.     movel a0@,d0
  317.     subql #1,d0
  318.     movel d0,a0@(4)
  319.     movel d0,a0@(8)
  320.     addqw #4,a0
  321.     addql #4,_avma
  322.     movel a0@(4),d0
  323.     andl #16777215,d0
  324.     movel d4,d1
  325. L67:
  326.     moveq #24,d6
  327.     asll d6,d1
  328.     addl d1,d0
  329.     movel d0,a0@(4)
  330.     jra L38
  331. L44:
  332.     movel d2,sp@-
  333.     jbsr _cgeti
  334.     movel d0,a0
  335.     movel d3,a0@(-4,d2:l:4)
  336.     moveq #1,d0
  337.     movel d2,d1
  338.     subql #1,d1
  339.     jra L57
  340. L60:
  341.     movel a2@(d0:l:4),a0@(d0:l:4)
  342.     addql #1,d0
  343. L57:
  344.     cmpl d0,d1
  345.     jgt L60
  346. L38:
  347.     movel a0,d0
  348. L14:
  349.     moveml a6@(-24),#0x47c
  350.     unlk a6
  351.     rts
  352.     .even
  353. .globl _addii
  354. _addii:
  355.     link a6,#-4
  356.     moveml #0x3f3c,sp@-
  357.     movel a6@(8),a5
  358.     movel a6@(12),a6@(-4)
  359.     movel a5@(4),d4
  360.     andl #65535,d4
  361.     movel a6@(-4),a4
  362.     movel a4@(4),d5
  363.     andl #65535,d5
  364.     cmpl d4,d5
  365.     jle L69
  366.     movel a5,a3
  367.     movel a6@(-4),a5
  368.     movel a3,a6@(-4)
  369.     movel d4,d6
  370.     movel d5,d4
  371.     movel d6,d5
  372. L69:
  373.     movel a6@(-4),a4
  374.     moveb a4@(4),d7
  375.     extbl d7
  376.     movel d7,a2
  377.     tstl a2
  378.     jne L70
  379.     movel a5,sp@-
  380.     jbsr _icopy
  381.     jra L68
  382. L70:
  383.     moveb a5@(4),d6
  384.     extbl d6
  385.     cmpl d6,a2
  386.     jne L71
  387.     movel d4,a4
  388.     pea a4@(1)
  389.     jbsr _cgeti
  390.     movel d0,a3
  391.     clrl d1
  392.     movel d4,d0
  393.     asll #2,d0
  394.     lea a3@(4,d0:l),a2
  395.     lea a5@(0,d0:l),a1
  396.     movel a6@(-4),a4
  397.     lea a4@(d5:l:4),a0
  398.     movel d5,d2
  399.     subql #2,d2
  400. L72:
  401. #APP
  402.     addl #-1,d1
  403. #NO_APP
  404.     moveq #16,d7
  405.     cmpl d7,d2
  406.     jhi L77
  407. LI94:
  408.     movew pc@(L94-LI94-2:b,d2:l:2),d7
  409.     jmp pc@(2,d7:w)
  410. L94:
  411.     .word L93-L94
  412.     .word L92-L94
  413.     .word L91-L94
  414.     .word L90-L94
  415.     .word L89-L94
  416.     .word L88-L94
  417.     .word L87-L94
  418.     .word L86-L94
  419.     .word L85-L94
  420.     .word L84-L94
  421.     .word L83-L94
  422.     .word L82-L94
  423.     .word L81-L94
  424.     .word L80-L94
  425.     .word L79-L94
  426.     .word L78-L94
  427.     .word L77-L94
  428. L77:
  429.     movel a1@-,d7
  430.     movel a0@-,d3
  431. #APP
  432.     addxl d3,d7
  433. #NO_APP
  434.     movel d7,a2@-
  435. L78:
  436.     movel a1@-,d7
  437.     movel a0@-,d3
  438. #APP
  439.     addxl d3,d7
  440. #NO_APP
  441.     movel d7,a2@-
  442. L79:
  443.     movel a1@-,d7
  444.     movel a0@-,d3
  445. #APP
  446.     addxl d3,d7
  447. #NO_APP
  448.     movel d7,a2@-
  449. L80:
  450.     movel a1@-,d7
  451.     movel a0@-,d3
  452. #APP
  453.     addxl d3,d7
  454. #NO_APP
  455.     movel d7,a2@-
  456. L81:
  457.     movel a1@-,d7
  458.     movel a0@-,d3
  459. #APP
  460.     addxl d3,d7
  461. #NO_APP
  462.     movel d7,a2@-
  463. L82:
  464.     movel a1@-,d7
  465.     movel a0@-,d3
  466. #APP
  467.     addxl d3,d7
  468. #NO_APP
  469.     movel d7,a2@-
  470. L83:
  471.     movel a1@-,d7
  472.     movel a0@-,d3
  473. #APP
  474.     addxl d3,d7
  475. #NO_APP
  476.     movel d7,a2@-
  477. L84:
  478.     movel a1@-,d7
  479.     movel a0@-,d3
  480. #APP
  481.     addxl d3,d7
  482. #NO_APP
  483.     movel d7,a2@-
  484. L85:
  485.     movel a1@-,d7
  486.     movel a0@-,d3
  487. #APP
  488.     addxl d3,d7
  489. #NO_APP
  490.     movel d7,a2@-
  491. L86:
  492.     movel a1@-,d7
  493.     movel a0@-,d3
  494. #APP
  495.     addxl d3,d7
  496. #NO_APP
  497.     movel d7,a2@-
  498. L87:
  499.     movel a1@-,d7
  500.     movel a0@-,d3
  501. #APP
  502.     addxl d3,d7
  503. #NO_APP
  504.     movel d7,a2@-
  505. L88:
  506.     movel a1@-,d7
  507.     movel a0@-,d3
  508. #APP
  509.     addxl d3,d7
  510. #NO_APP
  511.     movel d7,a2@-
  512. L89:
  513.     movel a1@-,d7
  514.     movel a0@-,d3
  515. #APP
  516.     addxl d3,d7
  517. #NO_APP
  518.     movel d7,a2@-
  519. L90:
  520.     movel a1@-,d7
  521.     movel a0@-,d3
  522. #APP
  523.     addxl d3,d7
  524. #NO_APP
  525.     movel d7,a2@-
  526. L91:
  527.     movel a1@-,d7
  528.     movel a0@-,d3
  529. #APP
  530.     addxl d3,d7
  531. #NO_APP
  532.     movel d7,a2@-
  533. L92:
  534.     movel a1@-,d7
  535.     movel a0@-,d3
  536. #APP
  537.     addxl d3,d7
  538. #NO_APP
  539.     movel d7,a2@-
  540. L93:
  541. #APP
  542.     clrl d1
  543.     addxl d1,d1
  544. #NO_APP
  545.     moveq #-16,d7
  546.     addl d7,d2
  547.     tstl d2
  548.     jgt L72
  549.     tstl d1
  550.     jeq L95
  551.     movel a5,d0
  552.     addql #8,d0
  553. L96:
  554.     subqw #4,a1
  555.     movel a1,a0
  556.     cmpl a1,d0
  557.     jhi L97
  558.     moveq #-1,d7
  559.     cmpl a1@,d7
  560.     jne L98
  561.     clrl a2@-
  562.     jra L96
  563. L98:
  564.     movel a0@,d7
  565.     addql #1,d7
  566.     movel d7,a2@-
  567.     jra L100
  568. L102:
  569.     movel a0@,a2@-
  570. L100:
  571.     subqw #4,a1
  572.     movel a1,a0
  573.     cmpl a1,d0
  574.     jls L102
  575.     jra L160
  576. L97:
  577.     moveq #1,d7
  578.     movel d7,a3@(8)
  579.     movel a5@(4),d7
  580.     addql #1,d7
  581.     movel d7,a3@(4)
  582.     jra L108
  583. L95:
  584.     movel d4,d1
  585.     subl d5,d1
  586.     jra L105
  587. L107:
  588.     movel a1@-,a2@-
  589. L105:
  590.     dbra d1,L107
  591.     clrw d1
  592.     subql #1,d1
  593.     jcc L107
  594. L160:
  595.     movel a3@,d7
  596.     subql #1,d7
  597.     movel d7,a3@(4)
  598.     movel a5@(4),a3@(8)
  599.     addqw #4,a3
  600.     addql #4,_avma
  601.     jra L108
  602. L71:
  603.     cmpl d4,d5
  604.     jne L109
  605.     movel d4,d1
  606.     subql #2,d1
  607.     lea a5@(8),a1
  608.     movel a6@(-4),a0
  609.     addqw #8,a0
  610.     jra L110
  611. L116:
  612.     movel a1@+,d2
  613.     movel a0@+,d0
  614.     cmpl d0,d2
  615.     jcc L112
  616.     movel a5,a3
  617.     movel a6@(-4),a5
  618.     movel a3,a6@(-4)
  619.     movel a2,d6
  620.     jra L109
  621. L112:
  622.     cmpl d2,d0
  623.     jcs L109
  624. L110:
  625.     dbra d1,L116
  626.     clrw d1
  627.     subql #1,d1
  628.     jcc L116
  629.     movel _gzero,d0
  630.     jra L68
  631. L109:
  632.     movel d4,sp@-
  633.     jbsr _cgeti
  634.     movel d0,a3
  635.     clrl d1
  636.     movel d4,d0
  637.     asll #2,d0
  638.     lea a5@(0,d0:l),a1
  639.     movel a6@(-4),a4
  640.     lea a4@(d5:l:4),a0
  641.     lea a3@(0,d0:l),a2
  642.     movel d5,d2
  643.     subql #2,d2
  644. L118:
  645. #APP
  646.     addl #-1,d1
  647. #NO_APP
  648.     moveq #16,d7
  649.     cmpl d7,d2
  650.     jhi L123
  651. LI140:
  652.     movew pc@(L140-LI140-2:b,d2:l:2),d7
  653.     jmp pc@(2,d7:w)
  654. L140:
  655.     .word L139-L140
  656.     .word L138-L140
  657.     .word L137-L140
  658.     .word L136-L140
  659.     .word L135-L140
  660.     .word L134-L140
  661.     .word L133-L140
  662.     .word L132-L140
  663.     .word L131-L140
  664.     .word L130-L140
  665.     .word L129-L140
  666.     .word L128-L140
  667.     .word L127-L140
  668.     .word L126-L140
  669.     .word L125-L140
  670.     .word L124-L140
  671.     .word L123-L140
  672. L123:
  673.     movel a1@-,d7
  674.     movel a0@-,d3
  675. #APP
  676.     subxl d3,d7
  677. #NO_APP
  678.     movel d7,a2@-
  679. L124:
  680.     movel a1@-,d7
  681.     movel a0@-,d3
  682. #APP
  683.     subxl d3,d7
  684. #NO_APP
  685.     movel d7,a2@-
  686. L125:
  687.     movel a1@-,d7
  688.     movel a0@-,d3
  689. #APP
  690.     subxl d3,d7
  691. #NO_APP
  692.     movel d7,a2@-
  693. L126:
  694.     movel a1@-,d7
  695.     movel a0@-,d3
  696. #APP
  697.     subxl d3,d7
  698. #NO_APP
  699.     movel d7,a2@-
  700. L127:
  701.     movel a1@-,d7
  702.     movel a0@-,d3
  703. #APP
  704.     subxl d3,d7
  705. #NO_APP
  706.     movel d7,a2@-
  707. L128:
  708.     movel a1@-,d7
  709.     movel a0@-,d3
  710. #APP
  711.     subxl d3,d7
  712. #NO_APP
  713.     movel d7,a2@-
  714. L129:
  715.     movel a1@-,d7
  716.     movel a0@-,d3
  717. #APP
  718.     subxl d3,d7
  719. #NO_APP
  720.     movel d7,a2@-
  721. L130:
  722.     movel a1@-,d7
  723.     movel a0@-,d3
  724. #APP
  725.     subxl d3,d7
  726. #NO_APP
  727.     movel d7,a2@-
  728. L131:
  729.     movel a1@-,d7
  730.     movel a0@-,d3
  731. #APP
  732.     subxl d3,d7
  733. #NO_APP
  734.     movel d7,a2@-
  735. L132:
  736.     movel a1@-,d7
  737.     movel a0@-,d3
  738. #APP
  739.     subxl d3,d7
  740. #NO_APP
  741.     movel d7,a2@-
  742. L133:
  743.     movel a1@-,d7
  744.     movel a0@-,d3
  745. #APP
  746.     subxl d3,d7
  747. #NO_APP
  748.     movel d7,a2@-
  749. L134:
  750.     movel a1@-,d7
  751.     movel a0@-,d3
  752. #APP
  753.     subxl d3,d7
  754. #NO_APP
  755.     movel d7,a2@-
  756. L135:
  757.     movel a1@-,d7
  758.     movel a0@-,d3
  759. #APP
  760.     subxl d3,d7
  761. #NO_APP
  762.     movel d7,a2@-
  763. L136:
  764.     movel a1@-,d7
  765.     movel a0@-,d3
  766. #APP
  767.     subxl d3,d7
  768. #NO_APP
  769.     movel d7,a2@-
  770. L137:
  771.     movel a1@-,d7
  772.     movel a0@-,d3
  773. #APP
  774.     subxl d3,d7
  775. #NO_APP
  776.     movel d7,a2@-
  777. L138:
  778.     movel a1@-,d7
  779.     movel a0@-,d3
  780. #APP
  781.     subxl d3,d7
  782. #NO_APP
  783.     movel d7,a2@-
  784. L139:
  785. #APP
  786.     clrl d1
  787.     addxl d1,d1
  788. #NO_APP
  789.     moveq #-16,d7
  790.     addl d7,d2
  791.     tstl d2
  792.     jgt L118
  793.     tstl d1
  794.     jeq L141
  795.     jra L142
  796. L144:
  797.     moveq #-1,d7
  798.     movel d7,a2@-
  799. L142:
  800.     movel a1@-,d0
  801.     jeq L144
  802.     movel a5,d1
  803.     addql #8,d1
  804.     cmpl a1,d1
  805.     jhi L149
  806.     subql #1,d0
  807.     movel d0,a2@-
  808.     jra L146
  809. L148:
  810.     movel a0@,a2@-
  811. L146:
  812.     subqw #4,a1
  813.     movel a1,a0
  814.     cmpl a1,d1
  815.     jls L148
  816.     jra L149
  817. L141:
  818.     movel d4,d2
  819.     subl d5,d2
  820.     jra L150
  821. L152:
  822.     movel a1@-,a2@-
  823. L150:
  824.     dbra d2,L152
  825.     clrw d2
  826.     subql #1,d2
  827.     jcc L152
  828. L149:
  829.     tstl a3@(8)
  830.     jeq L153
  831.     movel a5@(4),a3@(4)
  832.     jra L108
  833. L153:
  834.     lea a3@(12),a2
  835.     tstl a2@
  836.     jne L159
  837. L157:
  838.     addqw #4,a2
  839.     tstl a2@
  840.     jeq L157
  841. L159:
  842.     subqw #8,a2
  843.     movel a2,d2
  844.     subl a3,d2
  845.     jpl L158
  846.     addql #3,d2
  847. L158:
  848.     asrl #2,d2
  849.     movel a3@,d0
  850.     subl d2,d0
  851.     movel d0,a2@
  852.     movel d0,a2@(4)
  853.     movel a2,a3
  854.     movel a3@(4),d0
  855.     andl #16777215,d0
  856.     movel d6,d1
  857.     moveq #24,d7
  858.     asll d7,d1
  859.     addl d1,d0
  860.     movel d0,a3@(4)
  861.     movel d2,d0
  862.     asll #2,d0
  863.     addl d0,_avma
  864. L108:
  865.     movel a3,d0
  866. L68:
  867.     moveml a6@(-44),#0x3cfc
  868.     unlk a6
  869.     rts
  870.     .even
  871. .globl _mulss
  872. _mulss:
  873.     link a6,#0
  874.     moveml #0x3c00,sp@-
  875.     movel a6@(8),d0
  876.     movel a6@(12),d2
  877.     tstl d0
  878.     jeq L163
  879.     tstl d2
  880.     jne L162
  881. L163:
  882.     movel _gzero,d0
  883.     jra L161
  884. L162:
  885.     moveq #1,d4
  886.     tstl d0
  887.     jge L164
  888.     moveq #-1,d4
  889.     negl d0
  890.     jpl L164
  891.     movel d0,sp@-
  892.     jbsr _stoi
  893.     movel d0,sp@-
  894.     movel d2,sp@-
  895.     jbsr _mulsi
  896.     jra L161
  897. L164:
  898.     tstl d2
  899.     jge L166
  900.     negl d4
  901.     negl d2
  902.     jpl L166
  903.     pea _ABS_MOST_NEGS
  904.     tstl d4
  905.     jgt L169
  906.     negl d0
  907. L169:
  908.     movel d0,sp@-
  909.     jbsr _mulsi
  910.     jra L161
  911. L166:
  912. #APP
  913.     mulul d2,d3:d0
  914. #NO_APP
  915.     movel d0,d2
  916.     tstl d3
  917.     jeq L170
  918.     pea 4:w
  919.     jbsr _cgeti
  920.     movel d0,a0
  921.     movel d3,a0@(8)
  922.     movel d2,a0@(12)
  923.     jra L171
  924. L170:
  925.     pea 3:w
  926.     jbsr _cgeti
  927.     movel d0,a0
  928.     movel d2,a0@(8)
  929. L171:
  930.     movel a0@,a0@(4)
  931.     movel a0@(4),d0
  932.     andl #16777215,d0
  933.     movel d4,d1
  934.     moveq #24,d5
  935.     asll d5,d1
  936.     addl d1,d0
  937.     movel d0,a0@(4)
  938.     movel a0,d0
  939. L161:
  940.     moveml a6@(-16),#0x3c
  941.     unlk a6
  942.     rts
  943.     .even
  944. .globl _mulii
  945. _mulii:
  946.     link a6,#-8
  947.     moveml #0x3f3c,sp@-
  948.     movel a6@(8),a3
  949.     movel a6@(12),d7
  950.     movel a3@(4),d5
  951.     andl #65535,d5
  952.     movel d7,a5
  953.     movel a5@(4),d6
  954.     andl #65535,d6
  955.     movel d6,a6@(-4)
  956.     moveb a3@(4),d2
  957.     extbl d2
  958.     jeq L188
  959.     movel d7,a5
  960.     moveb a5@(4),d0
  961.     extbl d0
  962.     jne L174
  963. L188:
  964.     movel _gzero,d0
  965.     jra L172
  966. L174:
  967.     tstl d0
  968.     jge L175
  969.     negl d2
  970. L175:
  971.     cmpl a6@(-4),d5
  972.     jle L176
  973.     movel a3,a2
  974.     movel d7,a3
  975.     movel a2,d7
  976.     movel d5,a4
  977.     movel a6@(-4),d5
  978.     movel a4,a6@(-4)
  979. L176:
  980.     movel a6@(-4),a5
  981.     lea a5@(-2,d5:l),a4
  982.     cmpl #65535,a4
  983.     jle L177
  984.     pea 17:w
  985.     jbsr _err
  986.     addqw #4,sp
  987. L177:
  988.     movel a4,sp@-
  989.     jbsr _cgeti
  990.     movel d0,a2
  991.     movel a2@,a2@(4)
  992.     movel a2@(4),d0
  993.     andl #16777215,d0
  994.     movel d2,d1
  995.     moveq #24,d6
  996.     asll d6,d1
  997.     addl d1,d0
  998.     movel d0,a2@(4)
  999.     lea a3@(d5:l:4),a5
  1000.     movel a5,a6@(-8)
  1001.     movel a6@(-8),a5
  1002.     subqw #4,a5
  1003.     movel a5,a6@(-8)
  1004.     movel a5@,d4
  1005.     clrl d2
  1006.     movel a6@(-4),d3
  1007.     subql #2,d3
  1008.     movel d7,a5
  1009.     movel a6@(-4),d6
  1010.     lea a5@(d6:l:4),a1
  1011.     lea a2@(a4:l:4),a3
  1012.     jra L178
  1013. L180:
  1014.     movel d2,d0
  1015.     movel d4,d1
  1016. #APP
  1017.     mulul a1@-,d2:d1
  1018. #NO_APP
  1019.     addl d1,d0
  1020.     clrl d6
  1021. #APP
  1022.     addxl d6,d2
  1023. #NO_APP
  1024.     movel d0,a3@-
  1025. L178:
  1026.     dbra d3,L180
  1027.     clrw d3
  1028.     subql #1,d3
  1029.     jcc L180
  1030.     movel d2,a3@-
  1031.     lea a2@(a4:l:4),a3
  1032.     movel d7,a5
  1033.     movel a6@(-4),d6
  1034.     lea a5@(d6:l:4),a4
  1035.     subql #2,a6@(-4)
  1036.     subql #2,d5
  1037.     clrl d7
  1038.     jra L181
  1039. L186:
  1040.     movel a6@(-8),a5
  1041.     subqw #4,a5
  1042.     movel a5,a6@(-8)
  1043.     movel a5@,d4
  1044.     movel a6@(-4),d3
  1045.     movel a4,a1
  1046.     lea a3@(-4),a0
  1047.     movel a0,a3
  1048.     clrl d1
  1049.     jra L183
  1050. L185:
  1051.     movel a1@-,d0
  1052. #APP
  1053.     mulul d4,d2:d0
  1054. #NO_APP
  1055.     addl a0@-,d0
  1056. #APP
  1057.     addxl d7,d2
  1058. #NO_APP
  1059.     addl d1,d0
  1060. #APP
  1061.     addxl d7,d2
  1062. #NO_APP
  1063.     movel d0,a0@
  1064.     movel d2,d1
  1065. L183:
  1066.     dbra d3,L185
  1067.     clrw d3
  1068.     subql #1,d3
  1069.     jcc L185
  1070.     movel d2,a0@-
  1071. L181:
  1072.     subql #1,d5
  1073.     tstl d5
  1074.     jgt L186
  1075.     tstl a2@(8)
  1076.     jne L187
  1077.     movel a2@(4),d6
  1078.     subql #1,d6
  1079.     movel d6,a2@(8)
  1080.     movel a2@,d6
  1081.     subql #1,d6
  1082.     movel d6,a2@(4)
  1083.     addqw #4,a2
  1084.     addql #4,_avma
  1085. L187:
  1086.     movel a2,d0
  1087. L172:
  1088.     moveml a6@(-48),#0x3cfc
  1089.     unlk a6
  1090.     rts
  1091.     .even
  1092. .globl _confrac
  1093. _confrac:
  1094.     link a6,#-8
  1095.     moveml #0x3f3c,sp@-
  1096.     movel a6@(8),a5
  1097.     movel a5@,d7
  1098.     andl #65535,d7
  1099.     movel d7,a6@(-8)
  1100.     movel a5@(4),d5
  1101.     andl #16777215,d5
  1102.     addl #-8388608,d5
  1103.     moveq #-1,d7
  1104.     subl d5,d7
  1105.     movel d7,d5
  1106.     movel _avma,a6@(-4)
  1107.     movel a6@(-8),a4
  1108.     subqw #2,a4
  1109.     movel a4,d7
  1110.     asll #5,d7
  1111.     movel d7,a4
  1112.     addl d5,a4
  1113.     lea a4@(63),a3
  1114.     movel a3,d7
  1115.     asrl #5,d7
  1116.     movel d7,a3
  1117.     movel a3,sp@-
  1118.     jbsr _cgeti
  1119.     movel d0,a2
  1120.     movel d5,d0
  1121.     asrl #5,d0
  1122.     clrl d3
  1123.     addqw #4,sp
  1124.     cmpl d3,d0
  1125.     jle L216
  1126. L193:
  1127.     clrl a2@(d3:l:4)
  1128.     addql #1,d3
  1129.     cmpl d3,d0
  1130.     jgt L193
  1131. L216:
  1132.     moveq #31,d7
  1133.     andl d7,d5
  1134.     jne L194
  1135.     moveq #2,d4
  1136.     cmpl a6@(-8),d4
  1137.     jge L199
  1138. L198:
  1139.     movel a5@(d4:l:4),a2@(d3:l:4)
  1140.     addql #1,d3
  1141.     addql #1,d4
  1142.     cmpl a6@(-8),d4
  1143.     jlt L198
  1144.     jra L199
  1145. L194:
  1146.     clrl d6
  1147.     moveq #2,d4
  1148.     cmpl a6@(-8),d4
  1149.     jge L214
  1150.     moveq #32,d7
  1151.     subl d5,d7
  1152.     movel d7,a0
  1153. L203:
  1154.     movel d3,d0
  1155.     movel a5@(d4:l:4),d2
  1156.     addql #1,d3
  1157.     movel d2,d1
  1158.     lsrl d5,d1
  1159.     addl d6,d1
  1160.     movel d1,a2@(d0:l:4)
  1161.     movel d2,d6
  1162.     movel a0,d7
  1163.     lsll d7,d6
  1164.     addql #1,d4
  1165.     cmpl a6@(-8),d4
  1166.     jlt L203
  1167. L214:
  1168.     movel d6,a2@(-8,a3:l:4)
  1169. L199:
  1170.     clrl a2@(-4,a3:l:4)
  1171.     movel a4,d7
  1172.     fmovel d7,fp0
  1173.     fmuld #0r.30102999999999999758,fp0
  1174.     fmovecr #0x32,fp1
  1175.     faddx fp1,fp0
  1176.     fintrzx fp0,fp0
  1177.     fmovel fp0,d2
  1178.     moveq #17,d5
  1179.     addl d2,d5
  1180.     moveq #9,d7
  1181.     divsl d7,d5
  1182.     movel d5,sp@-
  1183.     jbsr _cgeti
  1184.     movel d0,a0
  1185.     movel d2,a0@
  1186.     moveq #1,d4
  1187.     cmpl d4,d5
  1188.     jle L213
  1189.     movel #1000000000,d6
  1190. L211:
  1191.     clrl d1
  1192.     movel a3,d3
  1193.     jra L217
  1194. L210:
  1195.     movel d1,d2
  1196.     movel a2@(d3:l:4),d0
  1197. #APP
  1198.     mulul d6,d1:d0
  1199. #NO_APP
  1200.     addl d2,d0
  1201.     clrl d7
  1202. #APP
  1203.     addxl d7,d1
  1204. #NO_APP
  1205.     movel d0,a2@(d3:l:4)
  1206. L217:
  1207.     subql #1,d3
  1208.     jpl L210
  1209.     movel d1,a0@(d4:l:4)
  1210.     addql #1,d4
  1211.     cmpl d4,d5
  1212.     jgt L211
  1213. L213:
  1214.     movel a6@(-4),_avma
  1215.     movel a0,d0
  1216.     moveml a6@(-48),#0x3cfc
  1217.     unlk a6
  1218.     rts
  1219.     .even
  1220. .globl _divss
  1221. _divss:
  1222.     link a6,#0
  1223.     moveml #0x3820,sp@-
  1224.     movel a6@(8),d4
  1225.     movel a6@(12),d3
  1226.     jne L219
  1227.     pea 23:w
  1228.     jbsr _err
  1229.     addqw #4,sp
  1230. L219:
  1231.     cmpl #-2147483648,d4
  1232.     jne L220
  1233.     movel d3,sp@-
  1234.     movel d4,sp@-
  1235.     jbsr _stoi
  1236.     addqw #4,sp
  1237.     movel d0,sp@-
  1238.     jbsr _divis
  1239.     jra L218
  1240. L220:
  1241.     clrl _hiremainder
  1242.     movel d4,sp@-
  1243.     lea _abs,a2
  1244.     jbsr a2@
  1245.     movel d0,d2
  1246.     movel d3,sp@-
  1247.     jbsr a2@
  1248.     movel _hiremainder,d1
  1249. #APP
  1250.     divul d0,d1:d2
  1251. #NO_APP
  1252.     movel d1,_hiremainder
  1253.     movel d2,d0
  1254.     addqw #8,sp
  1255.     tstl d3
  1256.     jge L221
  1257.     negl _hiremainder
  1258.     negl d0
  1259. L221:
  1260.     tstl d4
  1261.     jge L222
  1262.     negl d0
  1263. L222:
  1264.     movel d0,sp@-
  1265.     jbsr _stoi
  1266. L218:
  1267.     moveml a6@(-16),#0x41c
  1268.     unlk a6
  1269.     rts
  1270.     .even
  1271. .globl _modss
  1272. _modss:
  1273.     link a6,#0
  1274.     moveml #0x3820,sp@-
  1275.     movel a6@(8),d2
  1276.     movel a6@(12),d4
  1277.     jne L224
  1278.     pea 38:w
  1279.     jbsr _err
  1280.     addqw #4,sp
  1281. L224:
  1282.     cmpl #-2147483648,d2
  1283.     jne L225
  1284.     movel d4,sp@-
  1285.     movel d2,sp@-
  1286.     jbsr _stoi
  1287.     addqw #4,sp
  1288.     movel d0,sp@-
  1289.     jbsr _modis
  1290.     jra L223
  1291. L225:
  1292.     clrl d3
  1293.     movel d2,sp@-
  1294.     lea _abs,a2
  1295.     jbsr a2@
  1296.     movel d0,d2
  1297.     movel d4,sp@-
  1298.     jbsr a2@
  1299. #APP
  1300.     divul d0,d3:d2
  1301. #NO_APP
  1302.     addqw #8,sp
  1303.     tstl d3
  1304.     jne L226
  1305.     movel _gzero,d0
  1306.     jra L223
  1307. L226:
  1308.     tstl d3
  1309.     jge L227
  1310.     subl d3,d0
  1311.     movel d0,sp@-
  1312.     jra L229
  1313. L227:
  1314.     movel d3,sp@-
  1315. L229:
  1316.     jbsr _stoi
  1317. L223:
  1318.     moveml a6@(-16),#0x41c
  1319.     unlk a6
  1320.     rts
  1321.     .even
  1322. .globl _resss
  1323. _resss:
  1324.     link a6,#0
  1325.     moveml #0x3820,sp@-
  1326.     movel a6@(12),d4
  1327.     jne L231
  1328.     pea 40:w
  1329.     jbsr _err
  1330.     addqw #4,sp
  1331. L231:
  1332.     clrl d3
  1333.     movel a6@(8),sp@-
  1334.     lea _abs,a2
  1335.     jbsr a2@
  1336.     movel d0,d2
  1337.     movel d4,sp@-
  1338.     jbsr a2@
  1339. #APP
  1340.     divul d0,d3:d2
  1341. #NO_APP
  1342.     addqw #8,sp
  1343.     tstl d4
  1344.     jge L232
  1345.     negl d3
  1346. L232:
  1347.     movel d3,sp@-
  1348.     jbsr _stoi
  1349.     moveml a6@(-16),#0x41c
  1350.     unlk a6
  1351.     rts
  1352.     .even
  1353. .globl _divsi
  1354. _divsi:
  1355.     link a6,#0
  1356.     moveml #0x3820,sp@-
  1357.     movel a6@(8),d3
  1358.     movel a6@(12),a2
  1359.     moveb a2@(4),d0
  1360.     extbl d0
  1361.     movel a2@(4),d2
  1362.     andl #65535,d2
  1363.     tstl d0
  1364.     jne L235
  1365.     pea 24:w
  1366.     jbsr _err
  1367.     addqw #4,sp
  1368. L235:
  1369.     tstl d3
  1370.     jeq L237
  1371.     moveq #3,d4
  1372.     cmpl d2,d4
  1373.     jlt L237
  1374.     tstl a2@(8)
  1375.     jge L236
  1376. L237:
  1377.     movel d3,_hiremainder
  1378.     movel _gzero,d0
  1379.     jra L234
  1380. L236:
  1381.     cmpl #-2147483648,d3
  1382.     jne L238
  1383.     clrl sp@-
  1384.     movel a2,sp@-
  1385.     movel d3,sp@-
  1386.     jbsr _stoi
  1387.     addqw #4,sp
  1388.     movel d0,sp@-
  1389.     jbsr _dvmdii
  1390.     jra L234
  1391. L238:
  1392.     clrl _hiremainder
  1393.     movel d3,sp@-
  1394.     jbsr _abs
  1395.     movel _hiremainder,d4
  1396. #APP
  1397.     divul a2@(8),d4:d0
  1398. #NO_APP
  1399.     movel d4,_hiremainder
  1400.     movel d0,d1
  1401.     moveb a2@(4),d0
  1402.     extbl d0
  1403.     addqw #4,sp
  1404.     jpl L239
  1405.     negl _hiremainder
  1406.     negl d1
  1407. L239:
  1408.     tstl d3
  1409.     jge L240
  1410.     negl d1
  1411. L240:
  1412.     movel d1,sp@-
  1413.     jbsr _stoi
  1414. L234:
  1415.     moveml a6@(-16),#0x41c
  1416.     unlk a6
  1417.     rts
  1418.     .even
  1419. .globl _divis
  1420. _divis:
  1421.     link a6,#0
  1422.     moveml #0x3f30,sp@-
  1423.     movel a6@(8),a2
  1424.     movel a6@(12),d3
  1425.     moveb a2@(4),d7
  1426.     extbl d7
  1427.     movel a2@(4),d6
  1428.     andl #65535,d6
  1429.     tstl d3
  1430.     jne L242
  1431.     pea 26:w
  1432.     jbsr _err
  1433.     addqw #4,sp
  1434. L242:
  1435.     tstl d7
  1436.     jne L243
  1437.     clrl _hiremainder
  1438.     movel _gzero,d0
  1439.     jra L241
  1440. L243:
  1441.     tstl d3
  1442.     jge L244
  1443.     negl d7
  1444.     negl d3
  1445.     jpl L244
  1446.     clrl sp@-
  1447.     movel d3,sp@-
  1448.     jbsr _stoi
  1449.     addqw #4,sp
  1450.     movel d0,sp@-
  1451.     movel a2,sp@-
  1452.     jbsr _dvmdii
  1453.     jra L241
  1454. L244:
  1455.     cmpl a2@(8),d3
  1456.     jls L246
  1457.     moveq #3,d5
  1458.     cmpl d6,d5
  1459.     jne L247
  1460.     movel a2,sp@-
  1461.     jbsr _itos
  1462.     movel d0,_hiremainder
  1463.     movel _gzero,d0
  1464.     jra L241
  1465. L247:
  1466.     movel d6,a1
  1467.     pea a1@(-1)
  1468.     jbsr _cgeti
  1469.     movel d0,a0
  1470.     movew #1,a3
  1471.     movel a2@(8),d4
  1472.     jra L249
  1473. L246:
  1474.     movel d6,sp@-
  1475.     jbsr _cgeti
  1476.     movel d0,a0
  1477.     subl a3,a3
  1478.     clrl d4
  1479. L249:
  1480.     movel a3,d2
  1481.     addql #2,d2
  1482.     cmpl d2,d6
  1483.     jle L256
  1484. L253:
  1485.     movel d2,d1
  1486.     subl a3,d1
  1487.     movel a2@(d2:l:4),d0
  1488. #APP
  1489.     divul d3,d4:d0
  1490. #NO_APP
  1491.     movel d0,a0@(d1:l:4)
  1492.     addql #1,d2
  1493.     cmpl d2,d6
  1494.     jgt L253
  1495. L256:
  1496.     movel a0@,a0@(4)
  1497.     movel a0@(4),d0
  1498.     andl #16777215,d0
  1499.     movel d7,d1
  1500.     moveq #24,d5
  1501.     asll d5,d1
  1502.     addl d1,d0
  1503.     movel d0,a0@(4)
  1504.     tstl d7
  1505.     jge L254
  1506.     movel d4,d0
  1507.     negl d0
  1508.     jra L255
  1509. L254:
  1510.     movel d4,d0
  1511. L255:
  1512.     movel d0,_hiremainder
  1513.     movel a0,d0
  1514. L241:
  1515.     moveml a6@(-32),#0xcfc
  1516.     unlk a6
  1517.     rts
  1518.     .even
  1519. .globl _dvmdii
  1520. _dvmdii:
  1521.     link a6,#-60
  1522.     moveml #0x3f3c,sp@-
  1523.     movel a6@(8),a4
  1524.     moveb a4@(4),d6
  1525.     extbl d6
  1526.     movel d6,a6@(-24)
  1527.     movel a6@(12),a1
  1528.     moveb a1@(4),d6
  1529.     extbl d6
  1530.     movel d6,a6@(-28)
  1531.     jne L258
  1532.     pea 36:w
  1533.     jbsr _err
  1534.     addqw #4,sp
  1535. L258:
  1536.     tstl a6@(-24)
  1537.     jne L259
  1538.     moveq #-1,d6
  1539.     cmpl a6@(16),d6
  1540.     jeq L357
  1541.     tstl a6@(16)
  1542.     jeq L357
  1543.     movel a6@(16),a1
  1544.     movel _gzero,a1@
  1545. L357:
  1546.     movel _gzero,d0
  1547.     jra L257
  1548. L259:
  1549.     movel a4@(4),d6
  1550.     andl #65535,d6
  1551.     movel d6,a6@(-8)
  1552.     movel a6@(12),a1
  1553.     movel a1@(4),d6
  1554.     andl #65535,d6
  1555.     movel d6,a6@(-12)
  1556.     movel a6@(-8),d6
  1557.     subl a6@(-12),d6
  1558.     movel d6,a6@(-16)
  1559.     jge L262
  1560.     moveq #-1,d6
  1561.     cmpl a6@(16),d6
  1562.     jne L263
  1563.     movel a4,sp@-
  1564.     jbsr _icopy
  1565.     jra L257
  1566. L263:
  1567.     tstl a6@(16)
  1568.     jeq L357
  1569.     movel a4,sp@-
  1570.     jbsr _icopy
  1571.     movel a6@(16),a1
  1572.     movel d0,a1@
  1573.     jra L357
  1574. L262:
  1575.     movel _avma,a6@(-4)
  1576.     tstl a6@(-24)
  1577.     jge L265
  1578.     negl a6@(-28)
  1579. L265:
  1580.     moveq #3,d6
  1581.     cmpl a6@(-12),d6
  1582.     jne L266
  1583.     movel a6@(12),a1
  1584.     movel a1@(8),a6@(-60)
  1585.     lea a4@(8),a3
  1586.     movel a6@(-60),d6
  1587.     cmpl a4@(8),d6
  1588.     jls L267
  1589.     movel a6@(-8),d2
  1590.     subql #1,d2
  1591.     movel a3@+,d5
  1592.     jra L268
  1593. L267:
  1594.     movel a6@(-8),d2
  1595.     clrl d5
  1596. L268:
  1597.     movel d2,sp@-
  1598.     jbsr _cgeti
  1599.     movel d0,a6@(-36)
  1600.     movel d2,d7
  1601.     subql #2,d7
  1602.     movel d0,a2
  1603.     addqw #8,a2
  1604.     addqw #4,sp
  1605.     jra L269
  1606. L271:
  1607.     movel a3@+,d0
  1608. #APP
  1609.     divul a6@(-60),d5:d0
  1610. #NO_APP
  1611.     movel d0,a2@+
  1612. L269:
  1613.     dbra d7,L271
  1614.     clrw d7
  1615.     subql #1,d7
  1616.     jcc L271
  1617.     moveq #-1,d6
  1618.     cmpl a6@(16),d6
  1619.     jne L272
  1620.     movel a6@(-4),_avma
  1621.     tstl d5
  1622.     jeq L357
  1623.     pea 3:w
  1624.     jbsr _cgeti
  1625.     movel d0,a6@(-40)
  1626.     movel a6@(-24),d0
  1627.     moveq #24,d6
  1628.     asll d6,d0
  1629.     movel a6@(-40),a1
  1630.     addql #3,d0
  1631.     movel d0,a1@(4)
  1632.     movel d5,a1@(8)
  1633.     movel a1,d0
  1634.     jra L257
  1635. L272:
  1636.     moveq #2,d6
  1637.     cmpl d2,d6
  1638.     jeq L274
  1639.     movel a6@(-36),a1
  1640.     movel a1@,a1@(4)
  1641.     movel a1@(4),d0
  1642.     andl #16777215,d0
  1643.     movel a6@(-28),d1
  1644.     moveq #24,d6
  1645.     asll d6,d1
  1646.     addl d1,d0
  1647.     movel d0,a1@(4)
  1648.     jra L275
  1649. L274:
  1650.     movel a6@(-4),_avma
  1651.     movel _gzero,a6@(-36)
  1652. L275:
  1653.     tstl a6@(16)
  1654.     jne L276
  1655. L355:
  1656.     movel a6@(-36),d0
  1657.     jra L257
  1658. L276:
  1659.     tstl d5
  1660.     jne L277
  1661.     movel a6@(16),a1
  1662.     movel _gzero,a1@
  1663.     jra L355
  1664. L277:
  1665.     pea 3:w
  1666.     jbsr _cgeti
  1667.     movel d0,a6@(-40)
  1668.     movel a6@(-24),d0
  1669.     moveq #24,d6
  1670.     asll d6,d0
  1671.     movel a6@(-40),a1
  1672.     addql #3,d0
  1673.     movel d0,a1@(4)
  1674.     movel d5,a1@(8)
  1675.     movel a6@(16),a1
  1676.     movel a6@(-40),a1@
  1677.     jra L355
  1678. L266:
  1679.     movel a6@(-8),sp@-
  1680.     lea _cgeti,a3
  1681.     jbsr a3@
  1682.     movel d0,a6@(-36)
  1683.     movel a6@(12),a1
  1684. #APP
  1685.     bfffo a1@(8){#0:#0},d6
  1686. #NO_APP
  1687.     movel d6,a6@(-20)
  1688.     addqw #4,sp
  1689.     jeq L280
  1690.     movel a1,a2
  1691.     addqw #8,a2
  1692.     movel a6@(-12),sp@-
  1693.     jbsr a3@
  1694.     movel d0,a6@(-40)
  1695.     movel a2@+,d1
  1696.     moveq #32,d0
  1697.     subl d6,d0
  1698.     movel d1,d5
  1699.     lsrl d0,d5
  1700.     lsll d6,d1
  1701.     movel d1,a6@(-56)
  1702.     movel a6@(-40),a0
  1703.     addqw #8,a0
  1704.     movel a6@(-12),d7
  1705.     subql #3,d7
  1706.     addqw #4,sp
  1707.     moveq #32,d0
  1708.     subl d6,d0
  1709.     jra L281
  1710. L283:
  1711.     movel a2@+,d1
  1712.     movel d1,d5
  1713.     lsrl d0,d5
  1714.     movel a6@(-56),d6
  1715.     addl d5,d6
  1716.     movel d6,a0@+
  1717.     movel a6@(-20),d6
  1718.     lsll d6,d1
  1719.     movel d1,a6@(-56)
  1720. L281:
  1721.     dbra d7,L283
  1722.     clrw d7
  1723.     subql #1,d7
  1724.     jcc L283
  1725.     movel a6@(-56),a0@
  1726.     clrl a6@(-56)
  1727.     lea a4@(8),a3
  1728.     movel a6@(-36),a2
  1729.     addqw #4,a2
  1730.     movel a6@(-8),d7
  1731.     subql #2,d7
  1732.     moveq #32,d0
  1733.     subl a6@(-20),d0
  1734.     jra L284
  1735. L286:
  1736.     movel a3@+,d1
  1737.     movel d1,d5
  1738.     lsrl d0,d5
  1739.     movel a6@(-56),d6
  1740.     addl d5,d6
  1741.     movel d6,a2@+
  1742.     movel a6@(-20),d6
  1743.     lsll d6,d1
  1744.     movel d1,a6@(-56)
  1745. L284:
  1746.     dbra d7,L286
  1747.     clrw d7
  1748.     subql #1,d7
  1749.     jcc L286
  1750.     movel a6@(-56),a2@
  1751.     jra L287
  1752. L280:
  1753.     lea a4@(8),a3
  1754.     movel a6@(-36),a2
  1755.     addqw #4,a2
  1756.     clrl a2@+
  1757.     movel a6@(-8),d4
  1758.     subql #2,d4
  1759.     jra L288
  1760. L290:
  1761.     movel a3@+,a2@+
  1762. L288:
  1763.     dbra d4,L290
  1764.     clrw d4
  1765.     subql #1,d4
  1766.     jcc L290
  1767.     movel a6@(12),a6@(-40)
  1768. L287:
  1769.     movel a6@(-40),a1
  1770.     movel a1@(8),a6@(-60)
  1771.     movel a1@(12),a6@(-32)
  1772.     movel a6@(-36),a2
  1773.     addqw #4,a2
  1774.     movel a6@(-16),d7
  1775.     addql #1,d7
  1776.     movel a6@(-12),d6
  1777.     asll #2,d6
  1778.     movel d6,a6@(-52)
  1779.     jra L291
  1780. L318:
  1781.     movel a2@+,d6
  1782.     cmpl a6@(-60),d6
  1783.     jne L293
  1784.     movew #-1,a4
  1785.     movel a6@(-60),d1
  1786.     movel d1,d2
  1787.     addl a2@,d2
  1788.     cmpl d2,d1
  1789.     jls L294
  1790.     moveq #1,d0
  1791.     jra L295
  1792. L294:
  1793.     clrl d0
  1794. L295:
  1795.     movel d2,a6@(-56)
  1796.     jra L296
  1797. L293:
  1798.     movel a2@,d0
  1799.     movel a2@(-4),d5
  1800. #APP
  1801.     divul a6@(-60),d5:d0
  1802. #NO_APP
  1803.     movel d0,a4
  1804.     clrl d0
  1805.     movel d5,a6@(-56)
  1806. L296:
  1807.     tstl d0
  1808.     jne L297
  1809.     movel a4,d0
  1810. #APP
  1811.     mulul a6@(-32),d5:d0
  1812. #NO_APP
  1813.     movel d0,d1
  1814.     movel a2@(4),d0
  1815.     movel d1,d2
  1816.     subl d0,d2
  1817.     cmpl d1,d0
  1818.     jhi L298
  1819.     clrl d0
  1820.     jra L299
  1821. L298:
  1822.     moveq #1,d0
  1823. L299:
  1824.     movel d2,a0
  1825.     addl d0,a6@(-56)
  1826.     cmpl a6@(-56),d5
  1827.     shi d3
  1828.     moveq #1,d6
  1829.     andl d6,d3
  1830.     movel d5,d2
  1831.     subl a6@(-56),d2
  1832.     jra L307
  1833. L308:
  1834.     subqw #1,a4
  1835.     movel a0,d1
  1836.     movel a6@(-32),d0
  1837.     movel d1,d2
  1838.     subl d0,d2
  1839.     cmpl d1,d0
  1840.     jhi L304
  1841.     clrl d0
  1842.     jra L305
  1843. L304:
  1844.     moveq #1,d0
  1845. L305:
  1846.     movel d2,a0
  1847.     subl d0,d4
  1848.     cmpl a6@(-60),d4
  1849.     shi d3
  1850.     moveq #1,d6
  1851.     andl d6,d3
  1852.     movel d4,d1
  1853.     movel a6@(-60),d0
  1854.     movel d1,d2
  1855.     subl d0,d2
  1856. L307:
  1857.     movel d2,d4
  1858.     tstl d3
  1859.     jne L308
  1860. L297:
  1861.     clrl d5
  1862.     movel a6@(-12),d4
  1863.     subql #2,d4
  1864.     movel a6@(-52),d6
  1865.     lea a2@(-8,d6:l),a0
  1866.     movel a6@(-40),d6
  1867.     addl a6@(-52),d6
  1868.     movel d6,a6@(-56)
  1869.     jra L309
  1870. L313:
  1871.     movel d5,d1
  1872.     movel a6@(-56),a1
  1873.     subqw #4,a1
  1874.     movel a1,a6@(-56)
  1875.     movel a4,d0
  1876. #APP
  1877.     mulul a1@,d5:d0
  1878. #NO_APP
  1879.     movel d0,d2
  1880.     movel d1,d0
  1881.     addl d2,d0
  1882.     clrl d6
  1883. #APP
  1884.     addxl d6,d5
  1885. #NO_APP
  1886.     movel d0,d3
  1887.     subqw #4,a0
  1888.     movel a0,a3
  1889.     movel a0@,d1
  1890.     movel d1,d2
  1891.     subl d3,d2
  1892.     cmpl d1,d3
  1893.     jhi L311
  1894.     clrl d0
  1895.     jra L312
  1896. L311:
  1897.     moveq #1,d0
  1898. L312:
  1899.     movel d2,a3@
  1900.     addl d0,d5
  1901. L309:
  1902.     dbra d4,L313
  1903.     clrw d4
  1904.     subql #1,d4
  1905.     jcc L313
  1906.     cmpl a2@(-4),d5
  1907.     jls L314
  1908.     clrl d0
  1909.     subqw #1,a4
  1910.     movel a6@(-12),d4
  1911.     subql #2,d4
  1912.     movel a6@(-52),d6
  1913.     lea a2@(-8,d6:l),a0
  1914.     movel a6@(-40),d6
  1915.     addl a6@(-52),d6
  1916.     movel d6,a6@(-56)
  1917.     jra L315
  1918. L317:
  1919. #APP
  1920.     addl #-1,d0
  1921. #NO_APP
  1922.     movel a6@(-56),a1
  1923.     subqw #4,a1
  1924.     movel a1,a6@(-56)
  1925.     movel a0@-,d0
  1926.     movel a1@,d6
  1927. #APP
  1928.     addxl d6,d0
  1929. #NO_APP
  1930.     movel d0,a0@
  1931. #APP
  1932.     clrl d0
  1933.     addxl d0,d0
  1934. #NO_APP
  1935. L315:
  1936.     dbra d4,L317
  1937.     clrw d4
  1938.     subql #1,d4
  1939.     jcc L317
  1940. L314:
  1941.     movel a4,a2@(-4)
  1942. L291:
  1943.     dbra d7,L318
  1944.     clrw d7
  1945.     subql #1,d7
  1946.     jcc L318
  1947.     movel _avma,d5
  1948.     moveq #-1,d6
  1949.     cmpl a6@(16),d6
  1950.     jeq L319
  1951.     movel a6@(-16),d2
  1952.     addql #2,d2
  1953.     movel a6@(-36),a1
  1954.     lea a1@(d2:l:4),a2
  1955.     tstl a1@(4)
  1956.     jeq L320
  1957.     addql #1,d2
  1958.     jra L321
  1959. L320:
  1960.     tstl a6@(-16)
  1961.     jne L321
  1962.     clrl a6@(-28)
  1963. L321:
  1964.     movel d2,sp@-
  1965.     jbsr _cgeti
  1966.     movel d0,a6@(-44)
  1967.     movel d0,a1
  1968.     lea a1@(d2:l:4),a0
  1969.     movel d2,d4
  1970.     subql #2,d4
  1971.     addqw #4,sp
  1972.     jra L323
  1973. L325:
  1974.     movel a2@-,a0@-
  1975. L323:
  1976.     dbra d4,L325
  1977.     clrw d4
  1978.     subql #1,d4
  1979.     jcc L325
  1980.     moveq #2,d6
  1981.     cmpl d2,d6
  1982.     jcs L326
  1983.     movel a6@(-44),a1
  1984.     moveq #2,d6
  1985.     movel d6,a1@(4)
  1986.     jra L319
  1987. L326:
  1988.     movel a6@(-44),a1
  1989.     movel a1@,a1@(4)
  1990.     movel a1@(4),d0
  1991.     andl #16777215,d0
  1992.     movel a6@(-28),d1
  1993.     moveq #24,d6
  1994.     asll d6,d1
  1995.     addl d1,d0
  1996.     movel d0,a1@(4)
  1997. L319:
  1998.     tstl a6@(16)
  1999.     jeq L328
  2000.     movel a6@(-16),d4
  2001.     addql #2,d4
  2002.     cmpl a6@(-8),d4
  2003.     jge L330
  2004. L332:
  2005.     movel a6@(-36),a1
  2006.     tstl a1@(d4:l:4)
  2007.     jne L330
  2008.     addql #1,d4
  2009.     cmpl a6@(-8),d4
  2010.     jlt L332
  2011. L330:
  2012.     cmpl a6@(-8),d4
  2013.     jne L333
  2014.     movel _gzero,sp@-
  2015.     jbsr _icopy
  2016.     movel d0,a6@(-48)
  2017.     addqw #4,sp
  2018.     jra L328
  2019. L333:
  2020.     movel a6@(-8),a0
  2021.     subl d4,a0
  2022.     pea a0@(2)
  2023.     jbsr _cgeti
  2024.     movel d0,a6@(-48)
  2025.     movel d0,a1
  2026.     movel a1@,a1@(4)
  2027.     addqw #4,sp
  2028.     tstl a6@(-20)
  2029.     jne L335
  2030.     moveq #2,d7
  2031.     cmpl a6@(-8),d4
  2032.     jge L340
  2033. L339:
  2034.     movel a6@(-48),a1
  2035.     movel a6@(-36),a5
  2036.     movel a5@(d4:l:4),a1@(d7:l:4)
  2037.     addql #1,d4
  2038.     addql #1,d7
  2039.     cmpl a6@(-8),d4
  2040.     jlt L339
  2041.     jra L340
  2042. L335:
  2043.     movel a6@(-36),a1
  2044.     movel a1@(d4:l:4),d1
  2045.     addql #1,d4
  2046.     moveq #32,d0
  2047.     subl a6@(-20),d0
  2048.     movel d1,d3
  2049.     movel a6@(-20),d6
  2050.     lsrl d6,d3
  2051.     lsll d0,d1
  2052.     movel d1,a6@(-56)
  2053.     tstl d3
  2054.     jeq L341
  2055.     movel a6@(-48),a1
  2056.     movel d3,a1@(8)
  2057.     moveq #1,d0
  2058.     jra L342
  2059. L341:
  2060.     movel a6@(-48),a1
  2061.     movel a1@,d6
  2062.     subql #1,d6
  2063.     movel d6,a1@(4)
  2064.     addql #4,a6@(-48)
  2065.     addql #4,_avma
  2066.     movel a6@(-48),a1
  2067.     movel a1@,a1@(4)
  2068.     clrl d0
  2069. L342:
  2070.     movel d0,d7
  2071.     addql #2,d7
  2072.     cmpl a6@(-8),d4
  2073.     jge L340
  2074.     moveq #32,d2
  2075.     subl a6@(-20),d2
  2076. L346:
  2077.     movel a6@(-36),a1
  2078.     movel a1@(d4:l:4),d1
  2079.     movel d1,d0
  2080.     movel a6@(-20),d6
  2081.     lsrl d6,d0
  2082.     movel a6@(-48),a1
  2083.     addl a6@(-56),d0
  2084.     movel d0,a1@(d7:l:4)
  2085.     lsll d2,d1
  2086.     movel d1,a6@(-56)
  2087.     addql #1,d4
  2088.     addql #1,d7
  2089.     cmpl a6@(-8),d4
  2090.     jlt L346
  2091. L340:
  2092.     movel a6@(-48),a1
  2093.     movel a1@(4),d0
  2094.     andl #16777215,d0
  2095.     movel a6@(-24),d1
  2096.     moveq #24,d6
  2097.     asll d6,d1
  2098.     addl d1,d0
  2099.     movel d0,a1@(4)
  2100. L328:
  2101.     moveq #-1,d6
  2102.     cmpl a6@(16),d6
  2103.     jne L347
  2104.     movel a6@(-48),sp@-
  2105.     jra L356
  2106. L347:
  2107.     tstl a6@(16)
  2108.     jne L348
  2109.     movel a6@(-44),sp@-
  2110. L356:
  2111.     movel d5,sp@-
  2112.     movel a6@(-4),sp@-
  2113.     jbsr _gerepile
  2114.     jra L257
  2115. L348:
  2116.     clrl sp@-
  2117.     movel d5,sp@-
  2118.     movel a6@(-4),sp@-
  2119.     jbsr _gerepile
  2120.     moveq #-4,d6
  2121.     andl d6,d0
  2122.     movel a6@(16),a1
  2123.     movel a6@(-48),d6
  2124.     addl d0,d6
  2125.     movel d6,a1@
  2126.     addl a6@(-44),d0
  2127. L257:
  2128.     moveml a6@(-100),#0x3cfc
  2129.     unlk a6
  2130.     rts
  2131.     .even
  2132. .globl _mulul3
  2133. _mulul3:
  2134.     link a6,#0
  2135.     movel a6@(16),a0
  2136.     movel a6@(8),d0
  2137.     movel a0@,d1
  2138. #APP
  2139.     mulul a6@(12),d1:d0
  2140. #NO_APP
  2141.     movel d1,a0@
  2142.     unlk a6
  2143.     rts
  2144.     .even
  2145. .globl _divul3
  2146. _divul3:
  2147.     link a6,#0
  2148.     movel a6@(16),a0
  2149.     movel a6@(8),d0
  2150.     movel a0@,d1
  2151. #APP
  2152.     divul a6@(12),d1:d0
  2153. #NO_APP
  2154.     movel d1,a0@
  2155.     unlk a6
  2156.     rts
  2157. .comm _in_saved_avma,4
  2158.